/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine - application
// Copyright (c) 2014.  All Rights Reserved
//
// File:		AEVideoConfig.inl
// Author:		Gianluca Belardelli
// Date:		17/10/2013
//
/////////////////////////////////////////////////////////////////////////
#ifndef _AEVIDEOCONFIG_INL_
#define _AEVIDEOCONFIG_INL_

AE_FORCEINLINE AEVideoConfig::AEVideoConfig( AEUINT32 uiWidth, AEUINT32 uiHeight, AEUINT32 uiBPP )
{
	m_vmCurrentVideoMode.uiXRes = uiWidth;
	m_vmCurrentVideoMode.uiYRes = uiHeight;
	m_vmCurrentVideoMode.uiCustomFlags = 0;
	m_vmCurrentVideoMode.uiBPP = uiBPP;
	m_vmCurrentVideoMode.uiFormat = 0;
	m_vmCurrentVideoMode.uiRefreshRate = 0;

	m_nFBColorBits = 32;
	m_nFBDepthStencilBits = 32;
	m_nBBColorBits = 32;

	m_bUseStencilBuffer = false;
	m_bWaitVRetrace = false;
}

AE_FORCEINLINE AEVideoConfig::AEVideoConfig( const AEVideoMode &vmMode )
{

}

AE_FORCEINLINE AEFLOAT32 AEVideoConfig::GetDisplayAspectRatio( void ) const
{
	return	(AEFLOAT32)(m_vmCurrentVideoMode.uiXRes) / (AEFLOAT32)(m_vmCurrentVideoMode.uiYRes);
}

AE_FORCEINLINE AEFLOAT32 AEVideoConfig::GetPixelAspectRatio( void ) const
{
	return 0.0f;
}

AE_FORCEINLINE AEVideoMode AEVideoConfig::GetVideoMode( void ) const
{
	return m_vmCurrentVideoMode;
}

AE_FORCEINLINE AEPlatformConfig *AEVideoConfig::GetSpecificPlatformInfo( void )
{
	return &m_viVideoInfo;
}

AE_FORCEINLINE void AEVideoConfig::SetSpecificPlatformInfo( AEPlatformConfig *lpConfig )
{
	memcpy( &m_viVideoInfo, lpConfig, sizeof( AEPlatformConfig ) );
}

#endif // _AEVIDEOCONFIG_INL_
